- 文章来源:itsCoder 的 WeeklyBolg 项目
- itsCoder主页:http://itscoder.com/
- 作者:Melo
- 审阅者:暂无
Android 6.0 运行时权限简洁封装
本文原创,转载请注明出处。
欢迎关注我的 简书 ,关注我的专题 Android Class 我会长期坚持为大家收录简书上高质量的 Android 相关博文。
写在前面:
Android M 中有一个比较重要的知识点就是运行时权限了,关于运行时权限的文章和封装库目前也出现了不少,在开发的过程中始终觉得运行时权限这块的代码可以进一步封装一下,让其使用起来能再简洁一点,并且还不容易出错。关于 Android 运行时权限的知识就不多讲解了,可以参考下面的一些资料:
知识点比较简单,大致了解和使用过后,就来开始我的这次封装之旅吧。
现在直观的看看封装之后的使用,是不是清爽很多?
|
|
我将运行时权限封装到 BaseActivity 中,MainActivty 继承BaseActivity,调用 performRequestPermissions 方法,此时我不用再去做一些判断,只需要穿入四个参数即可。当然你为了在 6.0 以下保证应用正常运行,你依然需要像以前一样,在清单文件中申明要使用的权限。
首先我需要一个接口做通信:
|
|
然后把逻辑代码封装在 BaseActivity 里面:
|
|
每一个方法都有注释,逻辑也相对简单,就是我会遍历每个数组中申请的权限,如果需要申请就去申请,然后再处理一下回调的结果,其中还有对用户拒绝,然后再次申请弹出 Dialog 的处理。
如果在 Fragment 中使用,只是改变了一下参数封到 BaseFragment 中,这里就不贴代码了,都已经上传 github
BaseActivity:
BaseFragment:
如有问题,继续交流~